วิธีแก้ปัญหาการเชื่อมต่อ Security Group
ในบล็อกนี้ ผมจะมาเขียนบล็อกเกี่ยวกับวิธีแก้ปัญหาการเกิด Connection timed out ในขณะที่ทำการเชื่อมต่อ SSH ไปยัง Server Linux EC2 ด้วย PuTTy ซึ่งผมได้เจอปัญหานี้มาและทำการแก้ไขให้กลับมาใช้งานได้ปกติ ก็เลยอยากจะมาแบ่งปันและแนะนำให้กับเพื่อนๆ
โดยปกติแล้ว หลังจากที่ทำการเชื่อมต่อ SSH ไปยัง Server Linux EC2 ด้วย PuTTy แล้ว โปรแกรมจะสามารถเข้าถึง Server Linux EC2 ได้และมีลักษณะเหมือนกับรูปภาพด้านล่างนี้
สถานการณ์เมื่อเกิดปัญหา
ถ้าเราท์เตอร์ของที่บ้านตัวเองหรือที่ทำงานมีการรีสตาร์ท จะทำให้ IP Address มีการเปลี่ยนแปลง และจะเกิดปัญหา Connection timed out ตามมา สาเหตุก็เป็นเพราะว่า Security Group ที่เชื่อมต่อกับ EC2 นั้นจะอนุญาตการเชื่อมต่อ SSH จาก My IP เท่านั้น
การตรวจสอบ IP Address ปัจจุบัน
ค้นหาคำว่าip address current
IPv4
นี้คือ IP Address ปัจจุบันที่เรากำลังใช้งานอยู่
วิธีเปลี่ยน IP Address ของ Security Group
เรามาเริ่มทำการแก้ปัญหาโดยการเปลี่ยน IP Address ของ Security Group ไปพร้อมๆ กันเลยครับ
ค้นหา?︎ EC2
» เลือกEC2
คลิกInstances
คลิกInstance ID
ที่เราสร้างขึ้นมา
เลื่อนลงมาด้านล่าง » เลือกSecurity
»คลิก❐ Security groups name
ให้ดูที่ Type:SSH
| Source:IP Address/32
เราจะแก้ไขในส่วนนี้ จากนั้นคลิกEdit inbound rules
ก่อนที่จะทำการเปลี่ยน IP Address ในส่วนของ Type:SSH
นี้ให้ทำการเช็ก IP Address ที่การตรวจสอบ IP Address ปัจจุบัน จะเห็นว่า IP Address นั้นไม่ตรงกัน
ให้ทำการเปลี่ยน IP Address ให้เป็นปัจจุบันตามขั้นตอนด้านล่างนี้
① คลิกCustom ▼
② เลือกMy IP
จะเห็นว่า IP Address เดิมถูกเปลี่ยนเป็นปัจจุบันแล้ว จากนั้นคลิกSave rules
ให้ดูที่ Type:SSH
| Source:IP Address/32
ตามรูปภาพด้านล่างนี้และดูที่การตรวจสอบ IP Address ปัจจุบันอีกครั้ง จะเห็นว่า IP Address ทั้งสองนั้นตรงกันแล้ว
วิธีเชื่อมต่อ Linux Server ของ EC2 ด้วย PuTTy โดยใช้การตั้งค่าเดิม
คลิกขวาที่แถบด้านบน » เลือกNew Session...
เลือกec2-tinnakorn
» คลิกLoad
!ec2-tinnakorn
นี้คือชื่อที่เราทำการบันทึกการตั้งค่าก่อนหน้านี้ ซึ่งถ้ากดLoad
ก็จะทำให้ดึงข้อมูลการตั้งค่าก่อนหน้านี้กลับมาทั้งหมด
จะเห็นว่าในส่วนของ Host Name จะมี Public IPv4 address ของ EC2 Instance ที่เคยกำหนดค่าไว้แสดงขึ้นมา รวมถึงข้อมูลอื่นๆ อีกด้วย เช่น Connection Data หรือ SSH เป็นต้น จากนั้นคลิกOpen
เพียงเท่านี้ก็สามารถเชื่อมต่อ Server Linux EC2 ได้แล้ว
สรุป
เมื่อมีการรีสตาร์ทเราท์เตอร์หรือเปลี่ยนการใช้งานอินเทอร์เน็ตในสถานที่ต่างๆ ก็จะทำให้ IP Address ที่กำลังใช้อยู่นั้นถูกเปลี่ยนไปด้วย ก็เลยทำให้เกิด Connection timed out จึงไม่สามารถเชื่อมต่อ Server Linux EC2 ได้ เป็นเพราะว่า Security Group ที่เชื่อมต่อกับ EC2 นั้นจะอนุญาตการเชื่อมต่อ SSH จาก My IP เท่านั้น